#ifndef QABSTRACTPAGE_H
#define QABSTRACTPAGE_H

#include "core_global.h"

#include "qabstractplugin.h"

#include <QUndoStack>
#include <QIcon>
#include <QWidget>

#define PAGE_PLUGIN_TYPE      "Plugin.Page"

class QSoftCore;

class CORELIB_EXPORT QAbstractPage : public QAbstractPlugin
{
    Q_OBJECT
public:
    QWidget*            get_widget();

    void                init_plugin();
    QString             get_plugin_type();

    virtual QIcon       get_page_icon()=0;
    virtual QString     get_page_name()=0;
    virtual int         get_index()=0;
protected:
    virtual void        create_widget()=0;

protected:
    QWidget            *m_widget;
};

#endif // QABSTRACTPAGE_H
